Retrieval-based Language Models and Applications (2)

August 28, 2023

基于检索的大语言模型:定义

基于检索的大语言模型(LM)指的是在测试阶段,使用外部数据库的大语言模型

大语言模型:P(xnx1,x2,,xn1)P|(x_n|x_1,x_2,\cdots,x_{n-1})

  • 基于Transformer

  • 自回归(Autoregressive)LM

    通常讲的”语言模型”(language model)其实就是根据上文内容预测下一个可能跟随的单词,也就是常说的自左向右的语言模型任务。或者反过来,就是根据下文预测前面的单词(比如ELMO使用了从左到右、从右到左的语言模型),这种类型的language model被称为自回归语言模型(AR)。 缺点:只能利用上文或者下文的信息,不能同时利用上文和下文的信息

    优点:对于生成类NLP任务,比如文本摘要、机器翻译等,在实际生成内容的时候,就是从左向右的,自回归语言模型天然匹配这个过程。而Bert这种DAE模式,在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致生成类的NLP任务到目前为止都做不太好。

  • 掩码(Masked)LM

    掩码语言模型(Masked LM)是BERT的核心任务,它的目标是根据上下文预测被掩码的单词。在BERT中,15%的单词被随机掩码,然后模型需要预测这些单词。这种方式的好处是,模型不需要学习特定的预测单词的方式,而是可以学习到更通用的上下文表示。这种方式也可以看作是一种自监督学习,因为训练数据是自动生成的,而不是人工标注的。

    缺点:只能利用上文或者下文的信息,不能同时利用上文和下文的信息

    优点:对于生成类NLP任务,比如文本摘要、机器翻译等,在实际生成内容的时候,就是从左向右的,自回归语言模型天然匹配这个过程。而Bert这种DAE模式,在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致生成类的NLP任务到目前为止都做不太好。

大语言模型提示(prompting):

  • 事实探究(Fact Probing):The capital city of Ontario is [LM MASK]. (Toronto)
  • 情感分析(Sentiment analysis):Cheaper than an iPod. It was [LM MASK]. (Great / terrible)
  • 翻译(Translation):“Hello” in French is [LM MASK]. (Bonjour)
  • 算术(Arithmetic):I’m good at math. 5 + 8 x 12 = [LM MASK]. (101)

在推理阶段结合外部数据库,从而显著提高对事实的判断,而非仅通过上文概率预测。

原始的外部数据库:至少数十亿~数万亿的token,非标记的数据集,非结构化数据(基于知识)。因此检索需要一个有效的索引(query不一定来自LM)。 目标是将数据存储中与查询最相似的一小部分元素子集,整合到LM中,从而提高LM的性能。

这种基于两份文本进行计算对应的相似度:

  • 以tf的方式进行计算,即两个文本中相同的词越多,相似度越高。
  • 以编码的方式进行计算,即将两个文本分别编码成向量,然后计算两个向量的相似度。

因此任务变成了:给定查询q,通过快速的近似近邻检索(ANN)计算出数据库中近似的topk个相似的元素,


近似近邻检索库(FAISS,SCANN…)

我们假设目前我们可以做到准确快速的近似近邻检索,那么我们就可以将这个近似近邻检索库和大语言模型结合起来,从而实现基于检索的大语言模型。

几个可能存在的问题:

  1. 检索查询内容是什么,何时检索?
  2. 在大语言模型中,我们检索什么?
  3. 如何将检索结果整合到大语言模型中?

Try not to become a man of success but rather try to become a man of value.

Created by Gatsby & React & Tailwind CSS & Emotion

Co-development with my bro Russellwzr .